package equipmentBusiness;

import tools.DateDeviation;

import java.util.Date;
import java.util.Random;

/**
 * Created by yangxianming on 2018/1/12.
 */
public class DataGenerator {
    Random r = new Random();
    int start = 0;
    public boolean isMaintenance = false;
    public boolean isPatrol = false;

    private String[] classifyHash = {"碳基物质,量子级别"};
    private String[] cycles = {"每周一次", "每月一次", "每季度一次", "每半年一次", "每年一次"};
    private String[] PatrolCycles = {"每日一次", "每周一次", "每月一次", "每季度一次"};

    public DataGenerator(){}

    public String getEquipmentName(){
        String[] eqName = {"全科医疗机", "星环号", "反物质步枪弹", "次声波发生装置", "等离子加速器", "曲速发动机", "聚变发动机", "行星穿梭机", "引力波天线", "强互作用宇宙探测器", "冬眠机", "二向箔稳定装置", "智子电路雕刻机"};
        r.nextInt(eqName.length);
        return eqName[r.nextInt(eqName.length)];
    }

    public String getEquipmentNumber(){
        if (start > 9999)
            start = 0;
        return String.valueOf("III" + new Date().getTime() + String.format("%04d", start++));
    }

    public String getEquipmentInstallSpace(){
        String[] spName = {"恒星级战舰动力舱", "木星轨道实验室", "二向箔储藏室", "冬眠实验室", "恒星级战舰机库"};
        r.nextInt(spName.length);
        return spName[r.nextInt(spName.length)] + "_安装位置";
    }

    public String getEquipmentClassify(int l){
        String[] c = classifyHash[0].split(",");
        return c[l-1];
    }

    public String[] getEquipmentIsInstallRoom(boolean b){
        String[] ret = new String[]{"",""};
        String isInstallRoom = b ? "是" : "否";
        String[] roomName = {"恒星级战舰动力舱", "木星轨道实验室", "二向箔储藏室", "冬眠实验室", "恒星级战舰机库"};
        r.nextInt(roomName.length);
        if (b){
            return (isInstallRoom + "," + roomName[r.nextInt(roomName.length)]).split(",");
        }else {
            ret[0] = isInstallRoom;
            return ret;
        }
    }

    public String getIsMaintenance(){
        return isMaintenance ? "是" : "否";
    }

    public String getMaintenanceContractStart_End(String offsetMonth){
        return isMaintenance ? DateDeviation.deviation("current,month," + offsetMonth + ",yyyy-MM-dd") : "";
    }

    public String getMaintenanceFirstTime(String offsetDate){
        //28号-31号不允许选择 ,所以遇到这个时间都默认下月1号
        if (isMaintenance){
            String[] d = DateDeviation.deviation("current,date," + offsetDate + ",yyyy-MM-dd").split("-");
            int s = Integer.valueOf(d[2]);
            if (s > 27 && s < 32){
                String dr = DateDeviation.deviation("current,month,1,yyyy-MM-dd");
                return dr.substring(0, dr.length()-2) + "01";
            }
            return DateDeviation.deviation("current,date," + offsetDate + ",yyyy-MM-dd");
        }
        return "";
    }

    public String getMaintenanceCycles(){
        return isMaintenance ? cycles[4] : "";
    }
    public String getMaintenanceCycles(int i){
        return isMaintenance ? cycles[i] : "";
    }

    public String getMaintenanceCompany(){
        if (isMaintenance){
            String[] company = {"星环公司", "红岸研究所", "星舰国际", "地外文明研究中心", "地球治安部队"};
            r.nextInt(company.length);
            return company[r.nextInt(company.length)];
        }
        return "";
    }
    public String getMaintenanceContact(){
        if (isMaintenance){
            String[] contact = {"汪淼", "罗辑", "史强", "叶文洁", "云天明", "章北海", "程心", "艾AA"};
            r.nextInt(contact.length);
            return contact[r.nextInt(contact.length)];
        }
        return "";
    }
    public String getMaintenancePhone(){
        if (isMaintenance){
            String[] phone = {"13433333333", "13222222222", "13333333333", "13666666666", "13111111111"};
            r.nextInt(phone.length);
            return phone[r.nextInt(phone.length)];
        }
        return "";
    }
    public String getMaintenanceContent(){
        if (isMaintenance){
            String[] content = {
                    "检测输出功率是否正常",
                    "检擦接口是否有松动",
                    "测试禁锢装置是否有能量泄露",
                    "测试武器系统是否正常工作",
                    "测试动力装置是否稳定输出"
            };
            r.nextInt(content.length);
            return content[r.nextInt(content.length)];
        }
        return "";
    }

    public String getIsPatrol(){
        return isPatrol ? "是" : "否";
    }

    public String getPatrolFirstTime(String offsetDate){
        //28号-31号不允许选择 ,所以遇到这个时间都默认下月1号
        if (isPatrol){
            String[] d = DateDeviation.deviation("current,date," + offsetDate + ",yyyy-MM-dd").split("-");
            int s = Integer.valueOf(d[2]);
            if (s > 27 && s < 32){
                String dr = DateDeviation.deviation("current,month,1,yyyy-MM-dd");
                return dr.substring(0, dr.length()-2) + "01";
            }
            return DateDeviation.deviation("current,date," + offsetDate + ",yyyy-MM-dd");
        }
        return "";
    }

    public String getPatrolCycles(){
        return isPatrol ? PatrolCycles[2] : "";
    }
    public String getPatrolCycles(int i){
        return isPatrol ? PatrolCycles[i] : "";
    }

    public String getEquipmentContact(){
        String[] contact = {"丁仪", "高way", "史强", "叶文洁", "云天明", "章北海", "程心", "艾AA"};
        r.nextInt(contact.length);
        return contact[r.nextInt(contact.length)];
    }

    public String getEquipmentPhone(){
        String[] phone = {"13433333333", "13222222222", "13333333333", "13666666666", "13111111111"};
        r.nextInt(phone.length);
        return phone[r.nextInt(phone.length)];
    }

    public String getEquipmentAnnualInspactionDate(){
        return "2018-11-12";
    }

    public String getEquipmentShelfLifeEndDate(String offsetYear){
        return DateDeviation.deviation("current,year," + offsetYear + ",yyyy-MM-dd");
    }

    public String getEquipmentMark(){
        String[] content = {
                "给时光以生命，给岁月以文明。",
                "在中国，任何超脱飞扬的思想都会砰然坠地--现实的引力实在是太沉重了。",
                "我们都是阴沟里的虫子，但总还得有人仰望星空。",
                "碑是那么小，与其说是为了纪念，更像是为了忘却。",
                "死亡是一座永恒的灯塔，不管你驶向何方，最终都会朝它转向。一切都将逝去，只有死神永生。",
                "你的无谓来源于无知。",
                "孩子问，他们是烈士吗？妈妈说，不是。他们是敌人吗？不是。那他们是什么？他们是历史！",
                "记忆是一条早已干涸的河流，只在毫无生气的河床中剩下零落的砾石。",
                "唯一不可阻挡的是时间，它像一把利刃，无声地切开了坚硬和柔软的一切，恒定的向前推进着，没有任何东西能够使它的行径产生丝毫颠簸，它却改变着一切。",
                "知道在哪儿，世界就变得像一张地图那么小了；不知道在哪，感觉世界才广阔。",
                "越透明的东西越神秘，宇宙本身就是透明的，只要目力能及，你想看多远就看多远，但越看越神秘。",
                "空不是无，空是一种存在，你得用空这种存在填满自己。",
                "城市就是森林，每一个男人都是猎手，每一个女人都是陷阱。",
                "在西方的天际，正在云海中下沉的夕阳仿佛被溶化着，太阳的血在云海和太空中弥漫开来，映现出一大片壮丽的血红。 ",
                "“这是人类的落日。”叶文洁轻轻地说。",
                "“我觉得它像。晚霞的眼睛”“你怎么不说是朝霞的眼睛”“我更喜欢晚霞”“为什么”“晚霞消失后可以看到星星，朝霞消失以后，就只剩下。”“只剩下光天化日下的现实了”",
                "“有时下夜班，仰望星空，觉得群星就像发光的沙漠，我自己就是一个被丢弃在沙漠上的可怜的孩子……我有那种感觉：地球生命真的是宇宙中的偶然里的偶然，宇宙是个空荡荡的大宫殿，人类是这宫殿中唯一的只蚂蚁。这想法让我的后半辈子有一种很矛盾的心态：有时 觉得生命真珍贵，一切都重于泰山；有时觉得人是那么渺小，什么都不值得一提。反正日子就在这种奇怪的感觉中一天天过去，不知不觉人就老了……”",
                "前进！前进！不择手段的前进！--阶梯计划负责人韦德",
                "西方人并不比东方人聪明，但是他们却找对了路。",
                "人生的美妙之处在于迷上一样东西 ",
                "人生苦短，少做些虚无缥缈的事 ",
                "夜晚的灯塔一直都在，只是灯亮的时候，你才看见它",
                "在漫长的科学发展史上，物理学家门用加速器撞击过多少质子？又撞击过多少中子和电子？每一次撞击，对那个微观宇宙中的智慧或文明都可能是毁灭性的。……您不会为此多愁善感起来吧？",
                "要知道，一个文学人物十分钟的行为，可能是她十年的经历的反映。",
                "他们的宇宙还很年轻，他们的神还只是个孩子。现在评断他们还为时过早，当‘我们’在‘末日’回去的时候，会决定谁该被拯救",
                "无限长的曲线就是宇宙的抽象，一头连着无限的过去，另一头连着无限的未来，中间只有无规律无生命的随机起伏，一个个高低错落的波峰就像一粒粒大小不等的沙子，整条曲线就像是所有沙粒排成行形成的一维沙漠，荒凉寂寥，长得更令人无法忍受。你可以沿着它向前向后走无限远，但永远找不到归宿。",
                "叶文洁打开结果文件，人类第一次读到了来自宇宙中另一个世界的信息。其内容出乎所有人的想象，它是三条重复的警告： 不要回答！ 不要回答！ 不要回答！ 在令她头晕目眩的激动和迷惑中",
                "叶文洁接着译解了第二段信息： 这个世界收到了你们的信息。 我是这个世界的一个和平主义者，我首先收到信息是你们文明的幸运。警告你们：不要回答！不要回答！不要回答！ 你们的方向上有千万颗恒星。只要不回答，这个世界就无法定位发射源。 如果回答，发射源将被定位，你们的行星系将遭到入侵，你们的世界将被占领！ 不要回答！不要回答！不要回答！",
                "人类之外的另一个文明，对于高级知识阶层无疑具有巨大的吸引力，并使他们极易对其产生种种美好的幻想。对于人类这样一个幼稚的文明，更高等的异种文明产生的吸引力几乎是不可抗拒的。有一个不太恰当的比喻:人类文明一直是一个孤独行走于宇宙荒漠中的不谙世事的少年，现在她(他)知道了另一个异性的存在，虽然看不到他(她)的面容和身影，但知道他(她)就在远方，对他(她)的美好想象便如同野火般蔓延。",
                "上帝是个无耻的老赌徒，他抛弃了我们！",
                "弱小和无知，都不是生存的障碍，傲慢才是。",
                "如果说，有上帝的话。人类一思考，上帝就发笑，如果人类不思考，上帝连发笑都不屑于。",
                "站在这闪烁的苍穹下，汪淼突然感到宇宙是这么小，小得仅将他一人禁锢于其中。宇宙是一个狭小的心脏或子宫，这弥漫的红光是充满于其中的半透明的血夜，他悬浮于血液中，红光的闪烁周期是不规则的，像是这心脏或子宫不规则地脉动，他从中感受到了一个以人类的智慧永远无法理解的怪异、变态的巨大存在。",
                "再想下去，一个推论令她不寒而栗，陷入恐惧的深渊：也许，人类和邪恶的关系，就是大洋与漂浮在其上的冰山的关系，它们其实是同一种物质组成的巨大水体，冰山之所以被醒目地认出来，只是由于其形态不同而已，而它实质上只不过是这整个巨大水体中极小的一部分……人类是做不到道德自觉的，就像他们不可能拔着自己的头发离开大地。要做到这一点，只有借助于人类之外的力量。",
                "在这寒冷无际的草原间，燃烧是无意义的，一腔热血喷出来，比一堆牛粪凉的更快，还不如后者有实用价值。但燃烧是他们的命运，他们是燃烧的一代。",
                "“人们迟早会发现自己爱的不是现实中的他，而是想象中的他，现实中的他只是他们所创造梦中情人的一个模板，他们迟早会发现梦中情人与模板的差距，适应了就走下去 没适应就分开，你与大多数人不同的是，你不需要模板”“但是我喜欢上了一个不存在的人，她只是我虚构出来的，这难道不是一种病态？”“不，不是，其实你很幸运，不管他是不是真是存在，能爱就很幸运了”",
                "没有什么能永远存在，即使是宇宙也有灭亡的那一天，凭什么人类就觉得自己该永远存在下去。",
                "消灭人类暴政，世界属于三体！",
                "我是个懒散的人，从小就是，住校时碗从来不洗，被子从来不叠，对什么都提不起兴趣，懒得学习，甚至懒得玩，每天迷迷糊糊地混日子。",
                "她陶醉在这鲜红灿烂的梦幻中，直到被一颗步枪子弹洞穿了胸膛，十五岁少女的胸膛是那么柔嫩，那颗子弹穿过后基本上没有减速，在她身后的空中发出一声啾鸣。年轻的红卫兵同她的旗帜一起从楼顶落下，她那轻盈的身体落得甚至比旗帜还慢，仿佛小鸟眷恋着天空。",
                "“我说，你最喜欢哪个季节？”“秋天”“为什么不是春天”“春天，好多感觉挤在一起，累人呢，秋天多好”“倒不如说郁郁葱葱得让人嫉妒”",
                "我正变成死亡，世界的毁灭者",
                "我爱你，与你有何相干？毁灭你，又与你有何相干？",
                "旁观者清，千秋功罪，可真的有人评说了",
                "海中的鱼走上了陆地，从一片黑暗森林奔向另一片黑暗森林。",
                "大多数人到死都没有向尘世之外瞥一眼。",
                "活着本身就很美妙，如果连这道理都不懂，怎么去探索更深的东西呢？",
                "“不是的，大部分人的爱情对象也只是存在于自己的想象之中。他们所爱的并不是现实中的她（他），而只是想象中的她（他），现实中的她（他）只是他们创造梦中情人的一个模板，他们迟早会发现梦中情人与模板之间的差异，如果适应这种差异他们就会走到一起，无法适应就分开，就这么简单。” ",
                "女人应该像水一样的，什么样的地方都能淌得过去啊。"
        };
        r.nextInt(content.length);
        return content[r.nextInt(content.length)];
    }
}
